package cn.wolfcode.luowowo.scenic.service;

import cn.wolfcode.luowowo.scenic.domain.Scenic;
import cn.wolfcode.luowowo.scenic.query.ScenicQuery;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IScenicService {

    /**
     * 通过目的地id查找目的地所对应的景点
     * @param destId
     * @return
     */
    List<Scenic> getScenicByDestId(Long destId);

    /**
     * 通过scenicId查找子景点
     * @param scenicId
     * @return
     */
    List<Scenic> getScenicByParentId(Long scenicId);

    /**
     * 通过目的id查找热门景点
     * @param destId
     * @param scenicHot
     * @return
     */
    List<Scenic> getHotScenicByDestId(Long destId, int scenicHot);

    /**
     * 获取前三热门景点
     * @return
     */
    List<Scenic> getTop3Scenic(Long destId);



    /**
     * 景点top5每个景点的三张图片
     *
     * @param scenic
     * @return
     */
    List<String> getCoverImgUrl(Scenic scenic);

    /**
     * 根据景点id查找景点内容
     * @param scenicId
     * @return
     */
    Scenic getDetail(Long scenicId);

    /**
     * 根据景点id查询内部景点
     * @param scenicId
     * @return
     */
    List<Scenic> getScenicByInterior(Long scenicId);

    /**
     * 查询目的地下的所有景点
     * @param destId 目的地id
     * @return
     */
    List<Scenic> getByDestId(Long destId);

    /**
     * 通过主键获取当前的景点
     * @param id
     * @return
     */
    Scenic getById(long id);

    /**
     * 修改景点点评数
     * @param count
     */
    void updateReplyNum(Integer count,Long scenicDetailId);

    /**
     * 根据主题id查询景点
     * @param qo
     * @return
     */
    PageInfo query(ScenicQuery qo,Long destId);

    /**
     * 根据景点id查询景点
     * @param id
     * @return
     */
    Scenic get(Long id);

    /**
     * 查询所有景点
     * @return
     */
    List<Scenic> list();


    /**
     * 高级分页查询目的 的 所有景点
     * @param qo
     * @return
     */
    //PageInfo  queryScenic(ScenicQuery qo);
}
